diff -u -r Kst-2.0.8/src/plugins/fits/non_linear.h Kst-2.0.8-patched/src/plugins/fits/non_linear.h
--- Kst-2.0.8/src/plugins/fits/non_linear.h	2014-02-13 09:41:44.000000000 +0000
+++ Kst-2.0.8-patched/src/plugins/fits/non_linear.h	2015-11-18 22:28:40.761417846 +0000
@@ -18,6 +18,7 @@
 #include <gsl/gsl_blas.h>
 #include <gsl/gsl_multifit_nlin.h>
 #include <gsl/gsl_statistics.h>
+#include <gsl/gsl_version.h>
 #include "common.h"
 
 struct data {
@@ -177,7 +178,15 @@
             }
             iIterations++;
           } while( iStatus == GSL_CONTINUE && iIterations < MAX_NUM_ITERATIONS );
+
+#if GSL_MAJOR_VERSION >=2
+          gsl_matrix *J=gsl_matrix_alloc(pSolver->fdf->n, pSolver->fdf->p);
+          gsl_multifit_fdfsolver_jac (pSolver, J);
+          gsl_multifit_covar( J, 0.0, pMatrixCovariance );
+          gsl_matrix_free(J);
+#else
           gsl_multifit_covar( pSolver->J, 0.0, pMatrixCovariance );
+#endif
 
           //
           // determine the fitted values...
diff -u -r Kst-2.0.8/src/plugins/fits/non_linear_weighted.h Kst-2.0.8-patched/src/plugins/fits/non_linear_weighted.h
--- Kst-2.0.8/src/plugins/fits/non_linear_weighted.h	2014-02-13 09:41:44.000000000 +0000
+++ Kst-2.0.8-patched/src/plugins/fits/non_linear_weighted.h	2015-11-18 22:28:44.004399807 +0000
@@ -18,6 +18,7 @@
 #include <gsl/gsl_blas.h>
 #include <gsl/gsl_multifit_nlin.h>
 #include <gsl/gsl_statistics.h>
+#include <gsl/gsl_version.h>
 #include "common.h"
 
 struct data {
@@ -193,7 +194,14 @@
           }
           while( iStatus == GSL_CONTINUE && iIterations < MAX_NUM_ITERATIONS );
 
+#if GSL_MAJOR_VERSION >=2
+          gsl_matrix *J=gsl_matrix_alloc(pSolver->fdf->n, pSolver->fdf->p);
+          gsl_multifit_fdfsolver_jac (pSolver, J);
+          gsl_multifit_covar( J, 0.0, pMatrixCovariance );
+          gsl_matrix_free(J);
+#else
           gsl_multifit_covar( pSolver->J, 0.0, pMatrixCovariance );
+#endif
 
           //
           // determine the fitted values...
